/*
 * DateUtils.java
 *
 *  created: 22.8.2011
 *  charset: UTF-8
 *  license: MIT (X11) (See LICENSE file for full license)
 */
package cz.mp.util;

import java.text.SimpleDateFormat;

/**
 *
 * @author Martin Pokorný
 * @version 0.1
 */
public class DateUtils {

    /** */
    private DateUtils() {
    }

    /**
     * Získá textovou podobu aktuálního data formátovanou podle zadaného vzoru.
     * 
     * @param simpleFormatPattern  vzor používaný {@linkplain SimpleDateFormat}
     * @return 
     */
    public static String getCurrentDate(String simpleFormatPattern) {
        if (simpleFormatPattern == null) {
            throw new IllegalArgumentException("simpleFormatPattern=null");
        }        
        SimpleDateFormat sdf = new SimpleDateFormat(simpleFormatPattern);
        java.util.Date now = new java.util.Date();
        return sdf.format(now);
    }
    
    /**
     * Získá textovou podobu aktuálního data ve formátu 
     * {@code yyyy-MM-dd HH:mm:ss}.
     * 
     * @return 
     * @see #getCurrentDate(java.lang.String) 
     */
    public static String getFullCurrentDate() {
        java.util.Date now = new java.util.Date();
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(now);
    }
    
    /**
     * Převede zadané datum na text ve formátu <tt>yyyy-MM-dd</tt>.
     * 
     * @param date
     * @return 
     */
    public static String formatToYyyyMmDd(java.util.Date date) {
        if (date == null) {
            throw new IllegalArgumentException("date=null");
        }
        return new SimpleDateFormat("yyyy-MM-dd").format(date);
    }
    
    /**
     * 
     * @param date
     * @return 
     */
    public static String formatDateTime(java.util.Date date) {
        if (date == null) {
            throw new IllegalArgumentException("date=null");
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);
    }    
    
}   // DateUtils.java

